Computer systems include a combination of interconnected parts, such as racks or cabinets, circuit boards, power supplies, memory, storage devices, cables, and processors. Processors are the part of the computer system that execute instructions and control the operations of the computer system. Processors are typically fabricated in a multi-step sequence of photographic and chemical processing steps during which electronic circuits are gradually layered on a wafer made of semiconducting material. This fabrication process typically takes weeks to perform. Each processor is then tested using automated test equipment, in a process known as wafer testing, in order to determine if the processor functions properly. The wafer is then cut into small rectangles called dice. Each die that passes the tests is then connected into a package. After packaging, the processors are retested. The proportion of processors on the wafer found to perform properly is called the yield.
Because of the lengthy fabrication process and the expense of the semiconducting materials, a low yield is particularly wasteful of time and money, so manufacturers are naturally interested in techniques to increase processor yield. One technique for increasing yield is to test the processors at a variety of combinations of voltages, currents, and clock frequencies. A processor that fails a test at one combination might pass all tests at another combination, and thus still be usable, so long as the processor is subsequently operated with the successful combination. For example, a processor might draw too much current at one clock frequency and voltage, causing it to become too hot and thus fail a test. But, if the voltage is lowered, the current draw also decreases and if the processor is still fully functional (perhaps at the same or a different clock frequency), it can pass the test.
While this technique has the advantage of increasing processor yield, it has the disadvantage that every processor potentially has a different set of successfully-tested combinations of voltage, current, and clock frequency. The computer system in which a specific processor is subsequently installed must know the specific successfully-tested combinations for its specific processor, so that the computer system can supply the successfully-tested voltage and operate the processor at the successfully-tested clock frequency. Also, the installer of the processor into the computer system must know the successfully-tested combinations, so that the installer can install the processor into a compatible computer system and inform the computer system of the combinations. Typically, these various combinations are handled by assigning different part numbers (or model or type numbers) to processors that have different successfully-tested combinations of voltage, current, and clock frequency, even though the design of the processors is exactly the same. These part numbers are often printed on the surface of the processor, and each unique part number needs a unique storage bin or container in an assembly area where parts are stored prior to installation in a computer system. Thus, a side effect of increasing processor yield by varying combinations of voltage, current, and clock frequency is the proliferation of part numbers and the proliferation of storage bins, which becomes difficult to manage.
Another disadvantage is that the operating environment of the computer system in which the processor is eventually installed may be different from the environment of the test station in which the successfully-tested combinations were determined. For example, the temperature, system workload, distribution drop, voltage sense point, regulator differences, or amount of voltage interference from nearby components may be different, which may cause the previously-determined combinations to no longer be correct.
Thus, what is needed is a better technique for managing the combinations of voltage, current, and clock frequency at which a processor needs to operate.